package grafica;

import javax.swing.JLabel;
import javax.swing.JPanel;
import sprite.estatico.SpritePowerUp;

/**
 * La clase GraficaEntidades agrupa todos las entidades secundarias - enemigos
 * y power-ups - del nivel.
 * 
 * Consta de un JPanel (panelEntidades) al que, con el metodo agregarEntidad, se
 * le agregan los JLabels correspondientes a los enemigos o power-ups que se
 * quieran incorporar.
 * 
 * La posicion en el panelEntidades esta previamente determinada en la
 * creacion de la entidad.
 * 
 * @author Agustin Orge (LU.85538)
 * @author Victoria Martinez de la Cruz (LU.87620)
 */

public class GraficaEntidades {

	/**
	 * Atributos de instancia
	 */
	private JPanel panelEntidades;
	private SpritePowerUp iconosPowerUp;

	/**
	 * Constructor de Grafica Entidades Crea e inicializa los paneles que
	 * contendran las etiquetas de las diferentes entidades
	 */
	public GraficaEntidades() {
		iconosPowerUp = new SpritePowerUp();
		panelEntidades = new JPanel(null);
		panelEntidades.setOpaque(false);
		panelEntidades.setLayout(null);
		panelEntidades.setSize(3957, 260);
		panelEntidades.setLocation(0, 0);
	}

	/**
	 * Retorna el pool de iconos de powerups
	 * 
	 * @return iconosPowerUp
	 */
	public SpritePowerUp getIconos() {
		return iconosPowerUp;
	}

	/**
	 * Retorna el panel de entidades
	 * 
	 * @return panelEntidades
	 */
	public JPanel getPanel() {
		return panelEntidades;
	}

	/**
	 * Agrega una nueva etiqueta al panel de entidades
	 * 
	 * @param entidad
	 */
	public void agregarEntidad(JLabel entidad) {
		panelEntidades.add(entidad);
	}

	/**
	 * Elimina una etiqueta del panel de entidades pasada por parametro
	 * 
	 * @param entidad
	 */
	public void eliminarEntidad(JLabel entidad) {
		panelEntidades.remove(entidad);
	}

}
